#ifndef TUPLAALEATORIA_H
#define	TUPLAALEATORIA_H

#include "GeneradorNumerosAleatorios.h"

/**
 * Clase que genera una tupla de números aleatorios según los parámetros esta-
 * blecidos por el usuario.
 */

namespace TP { namespace Aleatorizacion {

class TuplaAleatoria {
public:

    /**
     * Crea un generador de números aleatorios.
     * @param am Límite inferior del primer intervalo.
     * @param aM Límite superior del primer intervalo.
     * @param bm Límite inferior del segundo intervalo.
     * @param bM Límite superior del segundo intervalo.
     */
    TuplaAleatoria(num_t am, num_t aM, num_t bm, num_t bM);
    
    // Libera los recursos asociados con la instancia.
    virtual ~TuplaAleatoria();
    
    /**
     * Genera dos números aleatorios en los rangos establecidos por el usuario.
     * @param a Primer número aleatorio generado.
     * @param b Segundo número aleatorio generado.
     */
    void generarNumeros(num_t &a, num_t &b) const ;

private:
  GeneradorNumerosAleatorios _comp_1;  
  GeneradorNumerosAleatorios _comp_2;
};

}}

#endif	/* TUPLAALEATORIA_H */

